﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using StyleMVVM.Data.Activation;
using StyleMVVM.DependencyInjection;
using StyleMVVM.DotNet.Aspects.Impl;
using StyleMVVM.DotNet.Aspects.UnitTests.Classes;

namespace StyleMVVM.DotNet.Aspects.UnitTests.Impl
{
	[TestClass]
	public class AspectTypeAugmenterTests : BaseTestClass
	{
		[TestMethod]
		public void TestAugment()
		{
			AttributedObject attributedObject = Container.Locate<AttributedObject>();

			SimpleAspect.InvokeCount = 0;

			int returnValue = attributedObject.Calculate(4, 5);

			Assert.AreEqual(1, SimpleAspect.InvokeCount);
			Assert.AreEqual(9, returnValue);
		}
	}
}
